package com.ucode.springboot.starter.ESsearch.enums;

/**
 * DOC field 数据类型
 * @author: liliang
 * @date: 2019年12月30日 下午5:44:07
 */
public enum DataType {
    /**
     * 关键词，不进行分词；keyword类型默认开启doc_values来加速聚合排序操作，占用了大量磁盘io 如非必须可以禁用doc_values
     */
    keyword_type,
    /**
     * 默认会进行分词，支持模糊查询
     */
    text_type,
    /**
     * 字节类型
     */
    byte_type,
    /**
     * 数字类型，如果只有过滤场景 用不到range查询的话，使用keyword性能更佳，另外数字类型的doc_values比字符串更容易压缩
     */
    short_type,
    /**
     * 同上
     */
    integer_type,
    /**
     * 同上
     */
    long_type,
    /**
     * 同上
     */
    float_type,
    /**
     * 同上
     */
    double_type,
    /**
     * 只接受true、false 也可以是字符串类型的“true”、“false”
     */
    boolean_type,
    /**
     * 支持毫秒、根据指定的format解析对应的日期格式，内部以long类型存储
     */
    date_type,
    /**
     * 存储经纬度数据对
     */
    geo_point_type,
    /**
     * 将ip数据存储在这种数据类型中，方便后期对ip字段的模糊与范围查询
     */
    ip_type,
    /**
     * 嵌套类型，不支持数组
     */
    object_type,
    /**
     * 嵌套类型，一种特殊的object类型，存储object数组，可检索内部子项
     */
    nested_type;
}